﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using itau.im.entidade;

namespace itau.im.gerador
{
    public class ConversorPontoCalculoPMTCDIParaCurvaExecucaoPonto
    {
        private const int INDICADOR_VERTICE_SIM = 1;

        public List<CurvaExecucaoPonto> Converter(IList<PontoCalculoPMTCDI> pontos, RegistroExecucaoCurva execucaoPMTCDI)
        {
            List<CurvaExecucaoPonto> pontosExecucao = new List<CurvaExecucaoPonto>();

            foreach (PontoCalculoPMTCDI ponto in pontos)
            {
                if (ponto.ValorVertice != 0)
                {
                    CurvaExecucaoPonto pontoExecucao = new CurvaExecucaoPonto();

                    pontoExecucao.CodigoCurva = execucaoPMTCDI.CodigoCurva;
                    pontoExecucao.DataHoraExecucaoCurva = execucaoPMTCDI.DataHoraExecucaoCurva;
                    pontoExecucao.DataInclusaoVigencia = execucaoPMTCDI.DataInclusaoVigencia;
                    pontoExecucao.DataVencimento = ponto.Vencimento;
                    pontoExecucao.IndicadorVertice = INDICADOR_VERTICE_SIM;
                    pontoExecucao.QuantidadeDiasCorridos = ponto.DiasCorridos;
                    pontoExecucao.QuantidadeDiasUteis = ponto.DiasUteis;
                    pontoExecucao.ValorVertice = ponto.ValorVertice;
                    pontoExecucao.DurationDiasCorridos = ponto.DurationDiasCorridos;
                    pontoExecucao.DurationDiasUteis = ponto.DurationDiasUteis;

                    pontosExecucao.Add(pontoExecucao);
                }
            }

            return pontosExecucao;
        }
    }
}
